package com.Service;

import com.DAO.UserDao;
import com.User;

import java.sql.SQLException;

public class UserService {

    private UserDao userDao;

    public UserService() {
        this.userDao = new UserDao();
    }

    // 用户注册
    public boolean registerUser(String username, String password, String email) throws SQLException {
        // 检查用户名是否已存在
        if (userDao.isUsernameExist(username)) {
            return false; // 用户名已存在
        }

        // 密码加密
        String encryptedPassword = encryptPassword(password);

        // 保存用户
        User user = new User();
        user.setUsername(username);
        user.setPassword(encryptedPassword);
        user.setEmail(email);
        userDao.saveUser(user);
        return true;
    }

    // 用户认证（登录）
    public User authenticate(String username, String password) throws SQLException {
        User user = userDao.getUserByUsername(username);
        if (user != null && checkPassword(password, user.getPassword())) {
            return user; // 登录成功
        }
        return null; // 登录失败
    }

    // 加密密码
    private String encryptPassword(String password) {
        //TODO 实现密码加密算法
        return password;  //
    }

    // TODO校验密码
    private boolean checkPassword(String inputPassword, String storedPassword) {
        return inputPassword.equals(storedPassword);
    }
}
